#ifndef FILTERWORDSMODEL_H
#define FILTERWORDSMODEL_H

#include <QSortFilterProxyModel>

/** Фильтрует модель подходящих слов.
 *
 * Скрывает фрагменты текста содержаще символы переданные в filter.
 * Скрывает слова содержаще символы переданные в filter2.
 * @author Василий Почкаенко
 */
class FilterWordsModel : public QSortFilterProxyModel{
Q_OBJECT
private:
	/** Куски текста содержаще символы переданные в filter будут скрыты.*/
	QString Filter;

	/** Слова содержаще символы переданные в filter2 будут скрыты.*/
	QString Filter2;
protected:
	bool filterAcceptsRow ( int source_row, const QModelIndex & source_parent ) const;
public:
	explicit FilterWordsModel(QObject *parent = 0);

	/** Куски текста содержаще символы переданные в filter будут скрыты.*/
	QString filter() const;

	/** Слова содержаще символы переданные в filter2 будут скрыты.*/
	QString filter2() const;
signals:

public slots:
	/** Куски текста содержаще символы переданные в filter будут скрыты.*/
	void setFilter( const QString & pattern );

	/** Слова содержаще символы переданные в filter2 будут скрыты.*/
	void setFilter2( const QString & pattern );
};

#endif // FILTERWORDSMODEL_H
